#pragma once

#include "vrdatacore_global.h"
#include "triggerbase.h"
#include <QMap>

class QEvent;

namespace VrDataCore
{
	class VRDATACORE_EXPORT TriggerMouse:public TriggerBase
	{
	public:
		TriggerMouse();

		virtual void onMapLoadBegin(CoreBase::Map*){}
		virtual void onMapLoadEnd(CoreBase::Map*);
		virtual void buildPropertyMap();
		virtual bool testTrigger();
		virtual void setQtEvent(QEvent* event);
		void setEventType(QString type);
		QString getEventType();
		void setEventKey(QString key);
		QString getEventKey();
	protected:
		~TriggerMouse();
		void setEventTypeInt(const QString& type);
		void setEventKeyInt(const QString& key);
		QMap<QString,int>								_typeMap;
		QMap<QString,int>								_keyMap;
	};
}